AE 443 · Experimental Dynamics and Control Laboratory · Spring 2026 · ERAU
The desired transient response (t_p = 0.20 s, PO = 5%) was converted to second-order system parameters: ζ = 0.69 and ω_n = 21.7 rad/s. The PV controller gains were then derived from the closed-loop pole placement equations:
k_p = τω_n² / K = 7.82 V/rad k_v = (2ζω_nτ − 1) / K = −0.157 V·s/rad
Maximum allowable k_p was bounded by the amplifier limit V_max = 10 V: k_p,max = 28.7 V/rad for a 20° step, 12.7 V/rad for 45°. The ramp steady-state error under PV control (Type-1 system) was predicted as e_ss = R(1 + Kk_v) / (Kk_p) = 0.214 rad. To eliminate this, an integral gain k_i was designed: k_i = (V_max − k_p·e_ss) / (e_ss·t) = 38.9 V/(rad·s) for t = 1 s.
| Test | t_p (s) | PO (%) | e_ss (rad) |
|---|---|---|---|
| Step sim (PV) | 0.194 | 5.0 | 0 |
| Step sim (filtered PV) | 0.204 | 5.7 | 0.002 |
| Step impl (PV) | 0.170 | 7.86 | 0.004 |
| Ramp sim (PV) | — | — | 0.213 |
| Ramp impl (PV) | — | — | 0.186 |
| Ramp sim (PIV) | — | — | 0.005 |
| Ramp impl (PIV) | — | — | 0.007 |
The plotting script overlaid the setpoint and measured/simulated position responses. Full script: Lab 3 Appendix A.
% Plot setpoint vs measured position
figure()
plot(data_pos(:,1), data_pos(:,2)) % setpoint
hold on
plot(data_pos(:,1), data_pos(:,3)) % measured/simulated
xlabel('Time (s)')
ylabel('Load Shaft Position (rad)')
title('Measured SRV02 PV ramp response')
legend('Setpoint Position', 'Simulated Position')
% Steady-state error calculation
index = (time >= 4.9) & (time <= 9.9);
r_ss = mean(data_pos(index, 2));
y_ss = mean(data_pos(index, 3));
e_ss = r_ss - y_ss; % ≈ 0.186 rad (PV ramp), 0.007 rad (PIV ramp)